{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Extraction of phonation features from audio files\n",
    "\n",
    "Compute phonation features from sustained vowels and continuous speech.\n",
    "\n",
    "For continuous speech, the features are computed over voiced segments\n",
    "\n",
    "Seven descriptors are computed:\n",
    "1. First derivative of the fundamental Frequency\n",
    "2. Second derivative of the fundamental Frequency\n",
    "3. Jitter\n",
    "4. Shimmer\n",
    "5. Amplitude perturbation quotient\n",
    "6. Pitch perturbation quotient\n",
    "7. Logaritmic Energy\n",
    "\n",
    "Static or dynamic matrices can be computed:\n",
    "\n",
    "Static matrix is formed with 29 features formed with (seven descriptors) x (4 functionals: mean, std, skewness, kurtosis) + degree of Unvoiced\n",
    "\n",
    "Dynamic matrix is formed with the seven descriptors computed for frames of 40 ms.\n",
    "\n",
    "Notes:\n",
    "\n",
    "1. In dynamic features the first 11 frames of each recording are not considered to be able to stack the APQ and PPQ descriptors with the remaining ones.\n",
    "2. The fundamental frequency is computed the RAPT algorithm. To use the PRAAT method,  change the \"self.pitch method\" variable in the class constructor.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "sys.path.append(\"../\")\n",
    "from phonation.phonation import Phonation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "phonationf=Phonation()\n",
    "file_audio=\"../audios/001_a1_PCGITA.wav\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Extract features and return them as a numpy array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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d3nwwQdJT0/nueeey+9HMcaYsGMFKo8mTJjAhAkTKFWqFF988QUVK1bM8boRERFMnjyZ6OhoFixYwLx583K03qhRo0hPT+euu+6idu3aDBs2jJiYGGbPns2yZcvy+lEYPXo0o0aNyvP6xhgTCFag8mD9+vU88cQTALz33nu0bNky19to2LAhI0aMAKB///6cOHEiy+WPHDnCxIkTAXjmmWcAqFatGoMHDwbghRdeyHUGgAMHDjB48GCGDBnivrZljDHhwApULiUnJ3PPPfdw7tw5Hn30Ue677748b+upp56iSZMmHDhwgL///e9ZLvvee++RnJxMjx49aNasmbt98ODBREdHs2zZMo4ePZrrDJ49r8cee4yTJ09msbQxxgSPFahc+sc//sH27dtp1KgRb7yRv59iRURE8NRTTwEwffp0UlNT/S7r+g3Vgw8+mKm9TJkydOjQAVXlm2++yXWG77//3p1l//792RZKY4wJFitQufDDDz/wr3/9CxFh4sSJlCpVKvuVslGvXj0aNWrE8ePH/V5HSk1NZe3atQBcddVV582/4YYbAJg/f36u9+8qUG+99RaRkZGMGzeOVatW5Xo7xhhT0KxA5VBqair9+vUjPT2dAQMGcOWVVxbYtnv16gXAnDlzfM7/8ccfSU5OplGjRj5vxnAVqG+++Yb09PQc7zcxMZEtW7YQHR1Nv379GDx4MKrKQw89ZI9mMsaEnBWoHHr99dfZuHEjF198MSNH+nwwe5717NkTgNmzZ+NrfK6VK1cC+C2K9evXp27duhw7dszd08qJ5cuXA9C2bVuio6N56aWXqFevHlu3buW6664jKSkptx/FGGMKjBWoHPjtt9/cd9x98MEHxMbGFuj2r7jiCqpWrcqvv/7Kpk2bzpufXYGCvJ3mc53ea9++PQClS5dm7ty51KxZk+XLl/P0009z5MiRHG/PGGMKkhWoHPj73//O2bNnue222+jSpUuBb79EiRLcdNNNgKMX5UlVWbFiBRC4AtWhQwd3W8OGDVm+fDn16tVjx44dXH311ezYsSPH28yLPXv28Morr/DQQw9x7bXX0qlTpzw9BsrbkSNHuOyyy9y35RtjChlVLdJTgwYNND/WrVungEZFRenOnTvztS1fEhISVFV1/vz5CmiLFi0yzd+7d68CWr58eU1PT/e7nTNnzmipUqUU0IMHD2a7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uLEC+s033/jN8s0332jPnj21d+/e+sQTT+grr7yihw4dOm+5tWvX6g8//OBzGwkJCTp27FgF9IYbbsjpYQior776SgEtWbKk9uvXz2+R/uSTT9zX/DynyZMnBy1rsSlQmRaGZsDNwF3AtUDVUH+A7CYrUHkXztlULZ+3J554QgEdPHiwu61fv34K6HPPPZdltkOHDrmLzyWXXKItWrRQQPv06ZNpuZdeesnv74lUHdesXD0Nz6lOnTq6a9cu93Jvv/22iohGRkbq/Pnzz9tOQkKCtm3b9rwCGWpDhgxxf6bmzZtnuiEjIyNDR4wY4Z7fvn17HTlypA4fPlwBvfjiiwPe83QplgWqME5WoPIunLOpWj5vy5cvd5+qS09P15kzZ7rvUtu8eXO22Q4ePKiNGjVyf8FefPHF+scff2Ra5r///W+Wp/neeustd5GbMmWKjhkzRi+77DIFtHr16rp161Z3kXNNpUuX1hUrVmTaztSpUxXQ2NhYTUpKyv/BKUDfffddpiJcp04d7dOnj956660KqIjo6NGj3ada09LS3D8EHj9+fFAyWoEqJJMVqLwL52yqls9benq61qxZUwF9//333bddjx49OsfZDh48qE2aNNHSpUvrqlWrzpufkZHh9zTf2bNntVq1agrorFmz3O1//PGHtm/f3n0nnKtoTpw4UR944AEFtFy5cpmKqKvduwcXLr7++msdPHiwxsXFZSq2MTExOnv27POWnz59ugJ64YUXBu0uSCtQhWCyApV34ZxN1fL58vTTT2f6wuzdu7fP30ZllS01NVWPHj3qd76rB/Tggw9manf1nlq0aHHePs+cOeN+3FCpUqV0zpw57n316tVLAa1cubJOmDBBU1JS9MILL1RAv/7661x8+uBxHb+0tDTduHGjvvPOOzpkyBDduHGjz+XT09Pdt7aPHTs2KPmKVYECahf4zqE08DzwrEfbAhwPot0D7PKxzlXAIeAg0Ci7fViByrtwzqZq+XxZu3atuzi1aNFCT58+7XO5/GRznearWLGi+zTfmTNn3L0nXz0IVdVz587pe++9d96NEWfPntWuXbu6c7t6gZUrVw7qnW+5kZfj9/nnnyug1apV0zNnzhR8KA9FpUDl5lFH34jI/SISk4t1sqSqZ4H1QCkAESkDDFLVWkAjHLe4e+sIVFPVaqpadB7DbEwBaNWqFa1b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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(28,)\n"
     ]
    }
   ],
   "source": [
    "features1=phonationf.extract_features_file(file_audio, static=True, plots=True, fmt=\"npy\")\n",
    "print(features1.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Extract static features and return them as a dataframe "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   avg DDF0   avg DF0  avg Jitter  avg Shimmer   avg apq   avg logE   avg ppq  \\\n",
      "0  0.260563 -0.285194    1.109532     3.355305  4.710208 -14.769208  0.760321   \n",
      "\n",
      "   kurtosis DDF0  kurtosis DF0  kurtosis Jitter    ...     skewness apq  \\\n",
      "0      36.588627     57.078802        74.302736    ...         1.499278   \n",
      "\n",
      "   skewness logE  skewness ppq  std DDF0   std DF0  std Jitter  std Shimmer  \\\n",
      "0      -0.795943      3.090648  3.244207  2.975543    2.289024     4.614546   \n",
      "\n",
      "    std apq  std logE   std ppq  \n",
      "0  3.786233  2.844835  0.828831  \n",
      "\n",
      "[1 rows x 28 columns]\n"
     ]
    }
   ],
   "source": [
    "features1=phonationf.extract_features_file(file_audio, static=True, plots=False, fmt=\"csv\")\n",
    "print(features1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Extract dynamic features and return them as a dataframe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "       DDF0       DF0    Jitter    Shimmer       apq       logE       ppq\n",
      "0 -0.514961 -1.673622  0.976936   0.000000  2.492831 -10.827903  1.333111\n",
      "1  0.531448 -1.142174  1.206685   3.746383  8.872992 -11.311134  0.663489\n",
      "2  2.552956  1.410782  1.059427  18.765860  5.753265 -12.346167  1.417151\n",
      "3 -0.172165  1.238617  0.237312  13.914695  7.487062 -12.714211  0.789910\n",
      "4 -0.961166  0.277451  0.609431   0.808527  7.592277 -11.299057  0.787418\n"
     ]
    }
   ],
   "source": [
    "features1=phonationf.extract_features_file(file_audio, static=False, plots=False, fmt=\"csv\")\n",
    "print(features1.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Extract dynamic features and return them as a torch tensor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.float64\n",
      "torch.Size([87, 7])\n"
     ]
    }
   ],
   "source": [
    "features1=phonationf.extract_features_file(file_audio, static=False, plots=False, fmt=\"torch\")\n",
    "print(features1.dtype)\n",
    "print(features1.size())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Extract static features from a path return them as a numpy array"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Processing 098_u1_PCGITA.wav: 100%|██████████| 3/3 [00:00<00:00, 17.39it/s]  "
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3, 28)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "path_audio=\"../audios/\"\n",
    "features1=phonationf.extract_features_path(path_audio, static=True, plots=False, fmt=\"npy\")\n",
    "print(features1.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
